// utils/formatTime.ts  时间格式化脚本
export const formatRelativeTime = (dateStr: string | Date): string => {
    const date = new Date(dateStr);
    const now = new Date();
    const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);
  
    // 如果是未来时间（异常情况），直接返回完整日期
    if (diffInSeconds < 0) {
      return formatDate(date);
    }
  
    // 计算时间差
    const minutes = Math.floor(diffInSeconds / 60);
    const hours = Math.floor(minutes / 60);
    const days = Math.floor(hours / 24);
  
    if (minutes < 1) {
      return "刚刚";
    } else if (minutes < 60) {
      return `${minutes}分钟前`;
    } else if (hours < 24) {
      return `${hours}小时前`;
    } else if (days <= 7) {
      return `${days}天前`;
    } else {
      // 超过7天，检查是否是去年
      if (date.getFullYear() !== now.getFullYear()) {
        return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
      } else {
        return `${date.getMonth() + 1}-${date.getDate()}`;
      }
    }
  };
  
  // 辅助函数：格式化日期（用于异常情况）
  const formatDate = (date: Date): string => {
    return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
  };